var vm = new Vue({
    el:"#app",
    data:{
        scheduleMessage:'',
        // deleteTimeFlag:false,//日程安排完成时间 渲染判断符
        pageInfo:'',
        tipflag:'',//打开提示框的判断符
        checkingScheduleId:'',//当前选中的某一条日程安排的ID
        pageNum:1,
        pageList:[],
        readerOrWorker:false,//读者或是代办的判断符
        readerList:[],//读者组信息
        readerflag:false,//判断员工是否存在于读者组中的判断符
        readerInfo:{//通过复选框获取的读者信息
            readerId:'',
            readerEmpId:''
        },
        agentList:[],//代办组信息
        agentflag:false,//判断员工是否存在于代办组中的判断符
        agentInfo:{//通过复选框获取的代办信息
            agentId:'',
            agentEmpId:''
        },
        totalPage:'',//总页数
        isLastPage:false,//是否最后一页
        isfirsttPage:false,//是否第一页
        pageFlag:false, //分页模式判断符
        innerPageFlag:0,//内部分页模式判断符
        deptInfo:'',//部门信息
        staffId:'',//查找获得的用户id
        staffDeptName:'',//获取的部门名
        staffInfo:'',//根据staffId获取的员工信息
        checkEmp:'',//授予人
        checkEmped:'',//被授予人
        checkEmpedDate:''//授予时间
    },
    methods:{
        //渲染页面
        getSchedule:function(num,empName,empedName,scheduleDate){
            if(num===undefined){
                num=1;
            }
            if(empName===undefined&&empedName===undefined&&scheduleDate===undefined){
                empName='';
                empedName='';
                scheduleDate='';
            }

            axios.post(
                    "http://localhost:8099/WorkSchedule/getScheduleList",
                    {
                        pageNum:num,
                        empName:empName,
                        empedName:empedName,
                        scheduleDate:scheduleDate
                    }
                ).then(
                function(result){
                    vm.scheduleMessage=result.data.data;
                    vm.pageInfo=result.data;
                    vm.pageNum=vm.pageInfo.pageNum;
                    vm.isLastPage=vm.pageInfo.lastPage;
                    vm.isfirsttPage=vm.pageInfo.firstPage;
                    vm.pageList=vm.pageInfo.navigatepageNums;
                    vm.totalPage=vm.pageInfo.totalPage;
                    //渲染日程安排页面
                    var length=vm.pageList.length;
                    if(length>=9){
                        vm.pageFlag=true;
                    }else{
                        vm.pageFlag=false;
                    }
                    if(result.data.scheduleDeletetime!=null){
                        vm.deleteTimeFlag=true;
                    }
                },function (err) {
                    console.log(err);
                }
            )
        },
        //下一页
        tonextPage:function(){
            if(vm.isLastPage){
                alert("已经是最后一页！");
            }else{
                if(vm.pageNum>=4&&vm.pageNum<=(vm.totalPage-3)){
                    vm.innerPageFlag=1;
                    vm.pageNum+=1;
                    this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                }else if(vm.pageNum==(vm.totalPage-2)||vm.pageNum==vm.totalPage){
                    vm.innerPageFlag=2;
                    vm.pageNum+=1;
                    this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                }else if(vm.pageNum==3||vm.pageNum==1){
                    vm.innerPageFlag=0;
                    vm.pageNum+=1;
                    this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                }else{
                    vm.pageNum+=1;
                    this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                }
                // vm.pageNum+=1;
                // this.getSchedule(vm.pageNum);
            }
        },
        //上一页
        tolastPage:function(){
            if(vm.isfirsttPage){
                alert("已经是第一页！");
            }else{
                if(vm.pageNum>=4&&vm.pageNum<=(vm.totalPage-3)){
                    vm.innerPageFlag=1;
                    vm.pageNum-=1;
                    this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                }else if(vm.pageNum==(vm.totalPage-2)||vm.pageNum==vm.totalPage){
                    vm.innerPageFlag=2;
                    vm.pageNum-=1;
                    this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                }else if(vm.pageNum==3||vm.pageNum==1){
                    vm.innerPageFlag=0;
                    vm.pageNum-=1;
                    this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                }else{
                    vm.pageNum-=1;
                    this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                }
                // vm.pageNum-=1;
                // this.getSchedule(vm.pageNum);
            }
        },
        //跳转到任意页面
        anyPage:function(num){
            if(num>=4&&num<=(vm.totalPage-3)){
                vm.innerPageFlag=1;
                vm.pageNum=num;
                this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
            }else if(num==(vm.totalPage-2)||num==vm.totalPage){
                vm.innerPageFlag=2;
                vm.pageNum=num;
                this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
            }else if(num==3||num==1){
                vm.innerPageFlag=0;
                vm.pageNum=num;
                this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
            }else{
                vm.pageNum=num;
                this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
            }
        },
        //渲染部门信息
        getAllDeptInfo:function(){
            axios.post("http://localhost:8099/PersonalInfoQuery/getAllDept").then(
                function(result){
                    vm.deptInfo=result.data;
                },function (err) {
                    console.log(err);
                }
            )
        },
        //复选框查找员工信息
        getStaffInfo:function(){
            axios.post("http://localhost:8099/PersonalInfoQuery/getStaffInfo",{deptname:vm.staffDeptName}).then(
                function(result){
                    vm.staffInfo=result.data;
                },function (err) {
                    console.log(err);
                }
            )
        },
        //失去部门焦点查找员工信息
        function1:function(){
            vm.staffDeptName=$("#checkbox1_1").val();
            $("#checkbox1_2>option:first-child").attr("selected",true);
            this.getStaffInfo();
        },
        //失去员工焦点查找员工id
        function2:function(){
            vm.staffId=$("#checkbox1_2>option:checked").attr("power");
        },
        //渲染读者组信息
        getReaderList:function () {
            axios.post("http://localhost:8099/WorkSchedule/getReaderList").then(
                function (result) {
                    vm.readerList=result.data;
                    console.log(result.data);
                },function (err) {
                    console.log(err);
                }
            )
        },
        //确认授权读者按钮
        addReader:function(){
            vm.readerflag=true;
            for(var i=0;i<vm.readerList.length;i++){
                if(vm.staffId==vm.readerList[i].readerEmpId){
                    vm.readerflag=false;break;
                }
            }
            if(vm.staffId!=0){
                if(vm.readerflag){
                    axios.post(
                        "http://localhost:8099/WorkSchedule/addReader",
                        {readerEmpId:vm.staffId}
                    ).then(
                        function (result) {
                            if(result.data){
                                alert("读者授权成功！");
                                vm.getReaderList();
                            }else{
                                alert("读者授权失败！");
                            }
                        },function (err) {
                            console.log(err);
                        }
                    )
                }else{
                    alert("这个用户已经在读者组中！");
                }
            }else{
                alert("请选择员工！")
            }

        },
        //确认取消某个读者的授权
        deleteReader:function(){
            if(vm.readerInfo.readerId===undefined){
                alert("请选择想要取消授权的读者！")
            }else{
                axios.post(
                    "http://localhost:8099/WorkSchedule/deleteReader",
                    {readerInfo:vm.readerInfo}
                ).then(
                    function (result) {
                        if(result.data){
                            alert("读者取消授权成功！");
                            vm.getReaderList();
                        }else{
                            alert("读者取消授权失败！");
                        }
                    },function (err) {
                        console.log(err);
                    }
                )
            }

        },
        //失去读者组焦点查找读者信息
        function3:function(){
            vm.readerInfo.readerId=$("#readerList>option:checked").attr("reader");
            vm.readerInfo.readerEmpId=$("#readerList>option:checked").attr("staff");
            console.log(vm.readerInfo);
        },
        //渲染代办组信息
        getagentList:function () {
            axios.post("http://localhost:8099/WorkSchedule/getAgentList").then(
                function (result) {
                    vm.agentList=result.data;
                    console.log(result.data);
                },function (err) {
                    console.log(err);
                }
            )
        },
        //确认授权代办者按钮
        addAgent:function(){
            vm.agentflag=true;
            console.log(vm.agentList)
            for(var i=0;i<vm.agentList.length;i++){
                if(vm.staffId==vm.agentList[i].agentEmpId){
                    vm.agentflag=false;break;
                }
            }
            if(vm.staffId!=0){
                if(vm.agentflag){
                    axios.post(
                        "http://localhost:8099/WorkSchedule/addAgent",
                        {agentEmpId:vm.staffId}
                    ).then(
                        function (result) {
                            if(result.data){
                                alert("代办者授权成功！");
                                vm.getagentList();
                            }else{
                                alert("代办者授权失败！");
                            }
                        },function (err) {
                            console.log(err);
                        }
                    )
                }else{
                    alert("这个用户已经在代办组中！");
                }
            }else{
                alert("请选择员工！");
            }

        },
        //确认取消某个代办者的授权
        deleteAgent:function(){
            if(vm.agentInfo.agentId===undefined){
                alert("请选择想要取消授权的代办者！")
            }else{
                axios.post(
                    "http://localhost:8099/WorkSchedule/deleteAgent",
                    {agentInfo:vm.agentInfo}
                ).then(
                    function (result) {
                        if(result.data){
                            alert("代办者取消授权成功！");
                            vm.getagentList();
                        }else{
                            alert("代办者取消授权失败！");
                        }
                    },function (err) {
                        console.log(err);
                    }
                )
            }

        },
        //失去代办组焦点查找代办者信息
        function4:function(){
            vm.agentInfo.agentId=$("#agentList>option:checked").attr("agent");
            vm.agentInfo.agentEmpId=$("#agentList>option:checked").attr("staff");
            console.log(vm.agentInfo);
        },
        //打开提示框
        tipclick:function(n,m){
            var flag = n;
            vm.tipflag=flag;
            if(m!==''){
                vm.checkingScheduleId=m.scheduleId;
            }
            if(flag===3){
                axios.post(
                    "http://localhost:8099/WorkSchedule/toUpdateSchedule",
                    {scheduleId:vm.checkingScheduleId}
                )
                location.href="http://localhost:8099/PersonalOffice/updateWorkSchedule.html";
            }else if(flag===4){
                $(".tipright>p").html("是否确认删除信息 ?")
                $("#tip1").fadeIn(200)
            }else if(flag===1){
                vm.readerOrWorker=true;
                $("#tip2").fadeIn(200)
            }else if(flag===2){
                vm.readerOrWorker=false;
                $("#tip2").fadeIn(200)
            }
        },
        //关闭提示框(修改或删除时)
        closetip1:function(){
            if(vm.tipflag===4){//删除
                axios.post(
                    "http://localhost:8099/WorkSchedule/deleteSchedule",
                    {
                        scheduleId:vm.checkingScheduleId
                    }
                ).then(
                    function (result) {
                        if(result.data){
                            alert("日程安排删除成功！");
                            vm.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                        }else{
                            alert("日程安排删除失败！");
                            vm.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
                        }
                    },function (err) {
                        alert("!!!");
                    }
                )
            }
            $("#tip1").fadeOut(200);
            $("#tip2").fadeOut(200);
            $("#checkbox1_1>option:first-child").attr("selected",true);
            $("#checkbox1_2>option:first-child").attr("selected",true);
            $("#readerList>option:first-child").attr("selected",true);
            $("#agentList>option:first-child").attr("selected",true);
            vm.staffId='';
            vm.staffInfo='';
            vm.staffDeptName='';
        },
        //关闭提示框(没有修改或删除时)
        closetip2:function(){
            $("#tip1").fadeOut(200);
            $("#tip2").fadeOut(200);
            $("#checkbox1_1>option:first-child").attr("selected",true);
            $("#checkbox1_2>option:first-child").attr("selected",true);
            $("#readerList>option:first-child").attr("selected",true);
            $("#agentList>option:first-child").attr("selected",true);
            vm.staffId='';
            vm.staffInfo='';
            vm.staffDeptName='';
        },
        //去到添加日程安排界面
        jumpAddAgent:function(){
            location.href="http://localhost:8099/PersonalOffice/addWorkSchedule.html";
        },
        //查询功能
        QueryAgent:function(){
            var checkEmp = $("#checkEmp").val();
            var checkEmped = $("#checkEmped").val();
            var checkEmpedDate = $("#checkEmpedDate").val();
            checkEmpedDate=checkEmpedDate.replace("T"," ");
            vm.checkEmp=checkEmp;
            vm.checkEmped=checkEmped;
            vm.checkEmpedDate=checkEmpedDate;
            // console.log(checkEmpedDate+' '+checkEmped+' '+checkEmp);
            this.getSchedule(vm.pageNum,vm.checkEmp,vm.checkEmped,vm.checkEmpedDate);
        }
    },
    mounted(){
        this.getSchedule();
        this.getAllDeptInfo();
        this.getReaderList();
        this.getagentList();
    }
})
